/**
 * <copyright>
 * </copyright>
 *
 * 
 */
package edu.pku.sei.AMT.resource.amtscript.mopp;

public class AmtscriptProblem implements edu.pku.sei.AMT.resource.amtscript.IAmtscriptProblem {
	
	private String message;
	private edu.pku.sei.AMT.resource.amtscript.AmtscriptEProblemType type;
	private edu.pku.sei.AMT.resource.amtscript.AmtscriptEProblemSeverity severity;
	private java.util.Collection<edu.pku.sei.AMT.resource.amtscript.IAmtscriptQuickFix> quickFixes;
	
	public AmtscriptProblem(String message, edu.pku.sei.AMT.resource.amtscript.AmtscriptEProblemType type, edu.pku.sei.AMT.resource.amtscript.AmtscriptEProblemSeverity severity) {
		this(message, type, severity, java.util.Collections.<edu.pku.sei.AMT.resource.amtscript.IAmtscriptQuickFix>emptySet());
	}
	
	public AmtscriptProblem(String message, edu.pku.sei.AMT.resource.amtscript.AmtscriptEProblemType type, edu.pku.sei.AMT.resource.amtscript.AmtscriptEProblemSeverity severity, edu.pku.sei.AMT.resource.amtscript.IAmtscriptQuickFix quickFix) {
		this(message, type, severity, java.util.Collections.singleton(quickFix));
	}
	
	public AmtscriptProblem(String message, edu.pku.sei.AMT.resource.amtscript.AmtscriptEProblemType type, edu.pku.sei.AMT.resource.amtscript.AmtscriptEProblemSeverity severity, java.util.Collection<edu.pku.sei.AMT.resource.amtscript.IAmtscriptQuickFix> quickFixes) {
		super();
		this.message = message;
		this.type = type;
		this.severity = severity;
		this.quickFixes = new java.util.LinkedHashSet<edu.pku.sei.AMT.resource.amtscript.IAmtscriptQuickFix>();
		this.quickFixes.addAll(quickFixes);
	}
	
	public edu.pku.sei.AMT.resource.amtscript.AmtscriptEProblemType getType() {
		return type;
	}
	
	public edu.pku.sei.AMT.resource.amtscript.AmtscriptEProblemSeverity getSeverity() {
		return severity;
	}
	
	public String getMessage() {
		return message;
	}
	
	public java.util.Collection<edu.pku.sei.AMT.resource.amtscript.IAmtscriptQuickFix> getQuickFixes() {
		return quickFixes;
	}
	
}
